﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HurSimLib;

namespace ConsoleTest
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime dt = DateTime.Now.AddMinutes(10);
            Troschuetz.Random.StandardGenerator sg = new Troschuetz.Random.StandardGenerator();
            Troschuetz.Random.ExponentialDistribution ed = new Troschuetz.Random.ExponentialDistribution(sg);

            //HurProcess Configurations
            HurProcess p = new HurProcess();
            HurServiceProcess sp = new HurServiceProcess();
            p.Nextprocess = sp;

            // HurObjectGenerator Configurations
            HurObjectGenerator hc = new HurObjectGenerator();
            hc.GenerationStart = DateTime.Now;
            hc.GenerationEnd = dt;
            hc.GeneratorDistribution = ed;
            hc.NextProcess = p;

            List<HurObject> objList = new List<HurObject>();

            for (int i = 0; i < 10; i++)
            {
                objList.Add(hc.Generate());
            }

            Console.WriteLine("---- OBJECT INFORMATIONS ----");
            foreach (var item in p.Entryqueue)
            {
                Console.WriteLine("---- ---- ---- ----");
                Console.WriteLine(string.Format("TotalServiceTime-> Hour: {0}, Minutes: {1}, Seconds: {2}, Milliseconds:{3} \n  TotalWaitingTime-> Hour: {4}, Minutes: {5}, Seconds: {6}, milliseconds: {7}", item.TotalServiceTime.Hour, item.TotalServiceTime.Minute, item.TotalServiceTime.Second, item.TotalWaitingTime.Millisecond, item.TotalWaitingTime.Hour, item.TotalWaitingTime.Minute, item.TotalWaitingTime.Second, item.TotalWaitingTime.Millisecond));

            }
            int x = Console.Read();
        }
    }
}
